package com.neusoft.elm.view;

import java.util.List;
import java.util.Scanner;

import com.neusoft.elm.dao.FoodDao;
import com.neusoft.elm.dao.FoodDaoImpl;
import com.neusoft.elm.po.Food;

public class FoodViewImpl implements FoodView{
	private Scanner input=new Scanner(System.in);

	@Override
	public List<Food> showFoodlist(Integer businessId) {
		FoodDao dao=new FoodDaoImpl();
		List<Food> list=dao.listFoodByBusinessId(businessId);
		System.out.println("食品编号\t食品名称\t食品介绍\t食品价格");
		 for(Food food : list) {
		 
		System.out.println(food.getFoodId()+"\t"+food.getFoodName()+"\t"+food.getFoodExplain()+"\t"+food.getFoodPrice());
		 }
		 return list;
	}

	@Override
	public void saveFood(Integer businessId) {
		//一共需要知道三个信息，封装到一个food的实体对象里
		Food food=new Food();
		System.out.println("请输入食品名称：");
		food.setFoodName(input.next());
		System.out.println("请输入食品介绍：");
		food.setFoodExplain(input.next());
		System.out.println("请输入食品价格：");
		food.setFoodPrice(input.nextDouble());
		food.setBusinessId(businessId);
		
		FoodDao dao = new FoodDaoImpl();
		int result=dao.saveFood(food);
		if(result>0) {
			 System.out.println("\n新增食品成功！\n");
			 }else {
			 System.out.println("\n新增食品失败！\n");
			 }	
	}

	@Override
	public void updateFood(Integer businessId) {
		
		FoodDao dao = new FoodDaoImpl();
		//先查询所有的食品列表
		List<Food> list=showFoodlist(businessId);

		if(list.size()==0) {
			System.out.println("没有任何食品！");
		}else {
			System.out.println("请选择要更新的食品编号：");
			int foodId=input.nextInt();
			Food food=dao.getFoodById(foodId);
			//先列出此编号的食品对象
			System.out.println(food.toString());//System.out.println(food.toString());
			
			//开始输入修改信息
			String inputStr = "";
			 System.out.println("是否更新食品名称(y/n)：");
			 inputStr = input.next();
			 if(inputStr.equals("y")) {
			 System.out.println("请输入新的食品名称：");
			 food.setFoodName(input.next());
			 }
			 
			 System.out.println("是否更新食品介绍(y/n)：");
			 inputStr = input.next();
			 if(inputStr.equals("y")) {
			 System.out.println("请输入新的食品介绍：");
			 food.setFoodExplain(input.next());
			 }
			 
			 System.out.println("是否更新食品价格(y/n)：");
			 inputStr = input.next();
			 if(inputStr.equals("y")) {
			 System.out.println("请输入新的食品价格：");
			 food.setFoodPrice(input.nextDouble());
			 }
			 
			 int result = dao.updateFood(food);
			 if(result>0) {
			 System.out.println("\n修改食品成功！\n");
			 }else {
			 System.out.println("\n修改食品失败！\n");
		}	
	}	
}

	@Override
	public void deleteFood(Integer businessId) {
		FoodDao dao = new FoodDaoImpl();
		 List<Food> list = showFoodlist(businessId);
		 
		 if(list.size()==0) {
		 System.out.println("没有任何食品！");
		 }else {
		 System.out.println("请选择要删除的食品编号：");
		 int foodId = input.nextInt();
		 
		 System.out.println("确认要删除吗(y/n)：");
		 if(input.next().equals("y")) {
		 int result = dao.deleteFood(foodId);
		 if(result>0) {
		 System.out.println("\n删除食品成功！\n");
		 }else {
		 System.out.println("\n删除食品失败！\n");}
            }
		 }
	}
}
